NT 370 特價中
學習所有 23 種GoF(四人幫)設計模式並在Python中實現它們。
設計模式是一種描述或樣板,可以重複應用於軟體設計中經常出現的問題。
熟悉設計模式在規劃、討論、管理和記錄你的應用程式時非常有用,從現在到未來都是如此。
https://softnshare.com/design-patterns-in-python/
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「gof design patterns」的推薦目錄:
- 關於gof design patterns 在 軟體開發學習資訊分享 Facebook 的精選貼文
- 關於gof design patterns 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於gof design patterns 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於gof design patterns 在 コバにゃんチャンネル Youtube 的最佳解答
- 關於gof design patterns 在 大象中醫 Youtube 的最佳貼文
- 關於gof design patterns 在 大象中醫 Youtube 的最讚貼文
- 關於gof design patterns 在 README.md - GitHub 的評價
- 關於gof design patterns 在 New alternative to the Gof design pattern book for uml MDD ... 的評價
- 關於gof design patterns 在 Gang of Four /GOF design patterns quick & handy reference 的評價
- 關於gof design patterns 在 (GoF) Design Patterns - Yannis Smaragdakis 的評價
- 關於gof design patterns 在 Why was dependency injection pattern not included in the ... 的評價
- 關於gof design patterns 在 Gof Design Patterns | Facebook 的評價
gof design patterns 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
Design pattern สำหรับมวลมนุษย์
เป็นตัวอย่างโค้ด Design pattern ของ Gang of Four (GoF)
ครบทั้งสามหมวดหมู่ Creational, Structural, Behavioral
อธิบายด้วยโค้ด PHP-7
ตามลิงก์นี้
✔ https://github.com/kamranahmedse/design-patterns-for-humans
✔ https://roadmap.sh/guides/design-patterns-for-humans
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
<ประชาสัมพันธ์/>
“โปรแกรมเมอร์ก็รวยได้ ด้วยเส้นทางเอาท์ซอร์สสายดำ”
ซึ่งเล่มนี้จะเล่าเรื่องราวของเอาท์ซอร์ส (Outsource) 🔥
ในสายงานซอฟต์แวร์เป็นหลัก
✔ มีเป็นเล่มกระดาษจริง https://www.lazada.co.th/products/i1938872619-s6139724498.html
.✔ และอีบุ๊กส์ https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjEzMTQxMiI7fQ
✔ รายละเอียดอ่านเพิ่มเติมได้ที่ https://www.patanasongsivilai.com/blog/sale_book_rich_with_outsource/
.
✍ เขียนโดย โปรแกรมเมอร์ไทย thai programmer
เราจะผ่านโควิด-19 ไปกันนะทุกคคนนน
gof design patterns 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
System.out.println() ในภาษา Java ถือว่าออกแบบผิดหลักการข้อใด?
.
อันนี้อ้างอิงตามตำรา
Head First Design Patterns (2008) หน้า 268 📗 📗
(ใครมีตำราก็ไปกางเปิดดูได้)
.
👧 คำตอบ การออกแบบคำสั่งชุดนี้ในภาษา Java
จะถือว่าผิดหลักการออกแบบโปรแกรมเรื่อง
"Principle of Least Knowledge"
แปลเป็นไทย "หลักการของความรู้น้อยที่สุด"
.
Principle of Least Knowledge
เป็นหลักการออกแบบ Object ให้รู้จักเพื่อนๆ ที่ใกล้ชิดไม่กี่คน 👩❤️💋👨
.
.
จากประโยคคำสั่ง System.out.println()
System กว่าจะรู้จัก println() ก็ต้องผ่าน out มันไกลเกินไปลูกพี่
ซึ่งข้อเสียมันทำให้โค้ดมีลักษณะยึดติดกันเกินไป
.
ศัพท์ทาง Object Oriented Programming โค้ดจะมีอาการเรียกว่า "coupling" โค้ดเป็นคู่สามีภรรยา เกี่ยวดองกันแนบแน่น
เช่น ถ้าเกิด out มีการแก้ไขก็จะกระเทือนต่อ println() และ System ไปด้วย (อันนี้แค่ยกตัวอย่างนะ ของจริงอาจไม่กระทบเลยก็ได้)
.
ในขณะที่ภาษาสมัยใหม่พวก Swift, Kotlin
จะเขียนสั้นๆ print(), println() ตามลำดับ
ไม่ต้องมาทำพิธีกรรมเรียกหลายชั้น หลายซ้อนแบบนี้
ก็เราแค่แสดงผลออกทางหน้าคอนโซลนี้น่า
มันจะทำอะไรให้มันวุ่นวายไปใย
.
จะขอยกตัวอย่างโค้ดในหนังสือเช่น
station.getThermometer().getTemperature();
เขียนแบบนี้ จะเห็นว่ามันยาวเหยียด
ถ้าเขียนครั้งเดียวพอทนได้
แต่ถ้าให้เขียนซ้ำๆ มันขี้เกียจเหมือนกันเนอะ
.
สำหรับวิธีแก้ไขปัญหาโค้ดที่ละเมิดหลัก
"Principle of Least Knowledge"
ไม่ยากเลย เราสามารถใช้หลักของดีไซน์แพทเทิร์นตัวหนึ่ง
นั้นก็คือ "เดอะเฟสไทยแลนด์"
...เฮยไม่ใช่แหละ 😜 😜
.
ใช้แพทเทิร์นที่เรียกว่า "The Facade"
เพื่อแก้ไขโค้ดลักษณะนี้
สนใจก็อย่าลืมไปทบทวน
ดีไซน์แพทร์นของ GOF นะ (ขอไม่ลงรายละเอียด)
.
แต่จะว่าไปมันก็เป็นแค่แนวคิดและหลักการเฉยๆ
แล้วแต่เราแหละ เขียนผิดหลักการยังไง
โค้ดก็รันได้ ปกติอยู่แล้ว
มันเป็นแนวคิด ไม่ใช้กฏหมายบังคับซะเมื่อไร
.
เพราะถ้าคนออกแบบเขาจะเอาแบบนี้
ชอบแบบนี้ ชอบที่เป็นแบบนี้ ชอบแววตาแบบนี้
ชอบรอยยิ้มแบบนี้ ก็ชอบคนนี้ ...โฮ้ว~~~
.
ถ้าทำแล้วโค้ดไร้บั๊ก ลูกค้าแฮปปี้พอใจ จ่ายเงินให้เรา ก็คือโอเคสองฝ่าย
ส่วนโปรแกรมเมอร์ที่มารับไม้ต่อ ไม่ชอบดีไซน์โค้ดแบบนี้
ก็จับ refactoring เอาเองแล้วกันเด้อ
.
อีกอย่างที่ยกตัวอย่างมาเป็นภาษา Java
ซึ่ง System.out.println() ใช้กันเป็นเรื่องปกติ
บิดา Java เขาจัดวาง println() ให้อยู่เป็นสัดเป็นส่วนอย่างนี้เอง
.
แต่เราต้องยอมรับว่า IDE ปัจจุบันมันฉลาดมาก
บางตัวแค่พิมพ์ S ก็แสนรู้
เดาใจเราออกว่าเราจะพิมพ์ System.out.println();
IDE สมัยนี้มันช่วยเราได้เยอะเลยทีเดียว
ไม่ต้องเสียเวลาพิมพ์ยาวเมื่อยมือ เสียเวลา
แต่ถ้ายังใช้ notepad อยู่ ก็ต้องทนเหนื่อยเอา
.
.
.
.
.
.
.
.
.
.
.
.
ทิ้งท้ายก่อนจากกันไป
<ประชาสัมพันธ์ขายของ>
หนังสือ "โปรแกรมเมอร์ก็รวยได้ ด้วยเส้นทางเอาท์ซอร์สสายดำ"
หนังสือที่จะเล่าเส้นทางสายเอาท์ซอร์สเงินดีรายได้งาม
✔ สำหรับตัวอย่างหนังสือ 👇
PDF: https://drive.google.com/file/d/1tAnMozeYd63dcbBGTQmT_ZrpSaamZS3e/edit
หรือดูจาก youtube: https://youtu.be/Ljf9iJhLcIs
.
รายละเอียดอ่านเพิ่มเติมได้ที่่ 👇
https://www.patanasongsivilai.com/blog/sale_book_rich_with_outsource/
.
✍ เขียนโดย โปรแกรมเมอร์ไทย thai programmer
เราจะผ่านโควิด-19 ไปกันนะทุกคคนนน
gof design patterns 在 コバにゃんチャンネル Youtube 的最佳解答
gof design patterns 在 大象中醫 Youtube 的最佳貼文
gof design patterns 在 大象中醫 Youtube 的最讚貼文
gof design patterns 在 New alternative to the Gof design pattern book for uml MDD ... 的推薦與評價
... <看更多>
gof design patterns 在 Gang of Four /GOF design patterns quick & handy reference 的推薦與評價
May 30, 2017 - A quick handy reference to the 23 Gang of Four/GOF design patterns listed category-wise with concise description of each pattern. ... <看更多>
gof design patterns 在 README.md - GitHub 的推薦與評價
This repository contains examples of all the design patterns listed in the Gang of Four (GoF) book (https://girirajvyas.github.io/gof-design-patterns/) ... ... <看更多>